/* * Hunt - a framework for web and console application based on Collie using Dlang development * * Copyright (C) 2015-2017 Shanghai Putao Technology Co., Ltd * * Developer: HuntLabs * * Licensed under the Apache-2.0 License. * */ module hunt.http.nullbuffer; import kiss.container.ByteBuffer; final class NullBuffer : Buffer { override @property bool eof() const {return true;} override size_t read(size_t size, scope void delegate(in ubyte[]) cback){ return 0;} override size_t write(in ubyte[] data) { return 0;} override void rest(size_t size = 0){} override @property size_t length() const{ return 0;} override size_t readLine(scope void delegate(in ubyte[]) cback){return 0;} //回调模式,数据不copy override size_t readAll(scope void delegate(in ubyte[]) cback){return 0;} override size_t readUtil(in ubyte[] data, scope void delegate(in ubyte[]) cback){return 0;} override size_t readPos(){return 0;} override size_t set(size_t pos,in ubyte[] data){return 0;} } @property defaultBuffer(){return _default;} shared static this(){ _default = new NullBuffer; } private: __gshared NullBuffer _default;